package com.framework.loippi.service;

import com.framework.loippi.entity.Subscribe;
import com.framework.loippi.support.APIPrincipal;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;

import java.text.ParseException;
import java.util.Date;
import java.util.List;

/**
 * SERVICE - Subscribe(预约表)
 *
 * @author wmj
 * @version 2.0
 */
public interface SubscribeService extends GenericService<Subscribe, Long> {
    public List<Subscribe> findListByPage(Object parameter);

    public Long deletes(Object parameter);

    Long findSubNumByDate(Object createTime);

    List<Subscribe> findFinished(Long patientId, Integer currentPage, Integer pageSize);

    List<Subscribe> findAllByPatientId(Long patientId, Integer currentPage, Integer pageSize);

    Integer findAllByPatientId(Long patientId);

    List<Subscribe> findDoing(Long patientId);

    Integer findAllFinished(Long patientId);

    List<Subscribe> findDid(Long patientId);

    List<Subscribe> findSicking(Long patientId);

    List<Subscribe> findSick(Long patientId);

    String buildSubscribeId(Long doctorId, Long departmentId, Long patientId, Date subscribeTime, Integer status, Integer type) throws ParseException;

    List<Subscribe> findByDateAndDoctorId(@Param(value = "subscribeDate") String subscribeDate, @Param(value = "doctorId") Long doctorId);

    String findSubscribeText();
}
